package com.itany.proxy;

import com.itany.factory.ObjectFactory;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Author:石小俊
 * Date: 2022/11/4 10:39
 */
public class UserServiceProxy implements UserService {

    private UserService userService = (UserService) ObjectFactory.getObject("userServiceTarget");

    @Override
    public String login(String username, String password) {
        // 执行目标方法之前执行
        System.out.println("业务执行之前的静态代理:在"+new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date())+"执行了login方法,方法的参数为:"+username+","+password);
        // 执行目标方法
        String result = userService.login(username,password);
        // 执行目标方法之后执行
        System.out.println("业务执行之后的静态代理:login方法执行完成,方法的返回值为:"+result);
//        result = "我改变了返回值";
        return result;
    }

    @Override
    public String register(String username) {
        System.out.println("业务执行之前的静态代理:在"+new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date())+"执行了register方法,方法的参数为:"+username);
        String result = userService.register(username);
        System.out.println("业务执行之后的静态代理:register方法执行完成,方法的返回值为:"+result);
        return result;
    }
}
